package orcamento;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import javax.faces.context.FacesContext;
import javax.naming.NamingException;
import util.ServiceLocator;

public class Orcamentos implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	@PostConstruct
	public void iniciar() {
		System.out.println("O Bean Cadastro Funcionario Foi Iniciado");
	}

	@PreDestroy
	public void encerrar() {
		System.out.println("O Bean Cadastro Funcionario foi Encerrado");
	}
	
	private EntidadeOrcamento orcamento = new EntidadeOrcamento();
	private Item_orc item = new Item_orc();
	List<Item_orc> items = new ArrayList<Item_orc>();

	public EntidadeOrcamento getOrcamento() {
		return orcamento;
	}

	public void setOrcamento(EntidadeOrcamento orcamento) {
		this.orcamento = orcamento;
	}
	
	public Item_orc getItem() {
		return item;
	}

	public void setItem(Item_orc item) {
		this.item = item;
	}

	public String enviar() throws NamingException
	{
		Orcamento orca = (Orcamento) ServiceLocator
		.getService("orcamentoBean/remote");
		
		orca.orcamento(getOrcamento());
		setOrcamento(null);
		setItem(null);
		
		Map<String, Object> requestMap = FacesContext.getCurrentInstance()
		.getExternalContext().getRequestMap();

		requestMap.put("resultado", orca);
		return null;
		
	}
	
	public String incluir() throws NamingException
	{
		float total;
		
		Orcamento orca = (Orcamento) ServiceLocator
		.getService("orcamentoBean/remote");
		
		items.add(getItem());		
		orcamento.setListorca(orca.incluirServ(getItem()));
		total = orcamento.getTotal() + item.getVlr_item();
		orcamento.setTotal(total);
		
		Map<String, Object> requestMap = FacesContext.getCurrentInstance()
		.getExternalContext().getRequestMap();

		requestMap.put("resultado", orca);
		return null;
		
	}
	
	public String busca() throws NamingException
	{
		Orcamento orca = (Orcamento) ServiceLocator
		.getService("orcamentoBean/remote");
		
		Item_orc busca = new Item_orc();
		
		busca = orca.buscaServ(getItem());
		item.setDesc_item(busca.getDesc_item());
		item.setVlr_item(busca.getVlr_item());
		
		return null;
	}

}
